Полезные функции для управления пользователями
Убираем сложность пароля
function wc_ninja_remove_password_strength() {
if ( wp_script_is( 'wc-password-strength-meter', 'enqueued' ) ) {
wp_dequeue_script( 'wc-password-strength-meter' );
}
}
add_action( 'wp_print_scripts', 'wc_ninja_remove_password_strength', 100 );
Разрешение iframe и прочее
function fb_change_mce_options($initArray) {
$ext = 'pre[id|name|class|style],iframe[align|longdesc| name|width|height|frameborder|scrolling|marginheight| marginwidth|src]';
if ( isset( $initArray['extended_valid_elements'] ) ) {
$initArray['extended_valid_elements'] .= ',' . $ext;
} else {
$initArray['extended_valid_elements'] = $ext;
}
return $initArray;
}
add_filter('tiny_mce_before_init', 'fb_change_mce_options');
Разрешить пользователям использовать HTML
//включение unfiltered_html для авторов start
function wph_allow_unfiltered_html() {
$role = get_role('author');
$role->add_cap('unfiltered_html');
}
add_action('admin_init', 'wph_allow_unfiltered_html');
//включение unfiltered_html для авторов end
Еще один способ разрешения iframe
//включение тега iframe для авторов start
function wph_allow_iframe_tag($allowedposttags) {
if( !current_user_can('author') ) return $allowedposttags;
$allowedposttags['iframe'] = array(
'align' => true,
'width' => true,
'height' => true,
'frameborder' => true,
'name' => true,
'src' => true,
'id' => true,
'class' => true,
'style' => true,
'scrolling' => true,
'marginwidth' => true,
'marginheight' => true,
);
return $allowedposttags;
}
add_filter('wp_kses_allowed_html', 'wph_allow_iframe_tag', 1, 1);
//включение тега iframe для авторов end
Вывод таблицы-списка авторов блога
function contributors() {
global $wpdb;
$authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users WHERE display_name <> 'admin' ORDER BY display_name");
foreach ($authors as $author ) {
echo "';
echo "ID);
echo "/\">";
the_author_meta('display_name', $author->ID);
echo "";
echo "
"; echo "Website: ID); echo "/\" target='_blank'>"; the_author_meta('user_url', $author->ID); echo ""; echo "
"; echo "Twitter: ID); echo "\" target='_blank'>"; the_author_meta('twitter', $author->ID); echo ""; echo "
"; echo "ID); echo "/\">Visit "; the_author_meta('display_name', $author->ID); echo "'s Profile Page"; echo ""; echo "
";
echo ""; echo "Website: ID); echo "/\" target='_blank'>"; the_author_meta('user_url', $author->ID); echo ""; echo "
"; echo "Twitter: ID); echo "\" target='_blank'>"; the_author_meta('twitter', $author->ID); echo ""; echo "
"; echo "ID); echo "/\">Visit "; the_author_meta('display_name', $author->ID); echo "'s Profile Page"; echo ""; echo "
Стили для этого примера
#authorlist ul{
list-style: none;
width: 600px;
margin: 0;
padding: 0;
}
#authorlist li {
margin: 0 0 5px 0;
list-style: none;
height: 90px;
padding: 15px 0 15px 0;
border-bottom: 1px solid #ececec;
}
#authorlist img.photo {
width: 80px;
height: 80px;
float: left;
margin: 0 15px 0 0;
padding: 3px;
border: 1px solid #ececec;
}
#authorlist div.authname {
margin: 20px 0 0 10px;
}
Добавление нужных метаполей в профиль пользователя
add_filter('user_contactmethods', 'my_user_contactmethods');
function my_user_contactmethods($user_contactmethods){
$user_contactmethods['telegram'] = 'Telegram Username';
$user_contactmethods['whatsapp'] = 'WhatsApp';
$user_contactmethods['ok'] = 'Профиль в OK';
return $user_contactmethods;
}
Удаление ненужных метаполей в профиле пользователя
add_filter('user_contactmethods','hide_profile_fields',10,1);
function true_hide_contacts( $contactmethods ) {
unset($contactmethods['aim']);
unset($contactmethods['jabber']);
unset($contactmethods['yim']);
unset($contactmethods['dribbble']);
unset($contactmethods['pinterest']);
unset($contactmethods['flickr']);
unset($contactmethods['linkedin']);
unset($contactmethods['youtube']);
unset($contactmethods['twitter']);
return $contactmethods;
}
add_filter('user_contactmethods', 'true_hide_contacts', 10, 1);


Канал @EmelyanovEG photo в Telegram